Modern user desktops often use virtualization of remote desktops that extend conventional desktops or even replace them for some users. This technology is referred to as a Virtual Desktop Infrastructure (VDI). Users connect to the VDI and can receive remote data and remote applications required for performing assignments and other work-related tasks.
VDI technology typically uses a remote datacenter as illustrated by FIG. 1. A client 101 is typically a thin client (e.g., a user's Smartphone, tablet, notebook or desktop). A user may connect to a datacenter via a VDI broker 102, which “knows” (based on a database 105) what resources to provide to the user as a desktop. User profiles (e.g., application configurations, data and documents) may be stored in data storage 104. The actual desktops (e.g., operating system (“OS”) configurations and a set of applications) are often stored in a cluster 103 at the datacenter. A Virtual Execution Environment (VEE) serves as a personal desktop for a user of the client 101.
The broker 102 may select a required environment 106 and presents it to the client 101 as a desktop using a remote access channel (e.g., remote desktop protocol (RDP)). If none of the existing VEEs 106 are accessible by the user, the VDI broker may create a required VEE and provides it to the user. The user profile 107 is accessed in a user session by a standard solution. For example, a user login from MS Active directory can be used for delivering the profile. The profile can be stored in a distributed file system that serves as a shared storage (e.g., MICROSOFT™ DFS).
Users can be divided into groups and a VEE template may be created for further cloning across separate user groups. This technology is often referred to as a desktop pool. For example, a hypothetical company may have several accountants and several sale managers. A datacenter administrator can create an accountants' standard desktop, which includes typical accounting application 1C, MS Office™, etc. An accountant's VEE template may then be created, which can be cloned for each accountant and stored in the datacenter. Likewise, a template for sale managers may be creating using a different set of applications—e.g., CRM, MICROSOFT Office™, Skype, etc. Exclusive utilities can be added to the desktop of an individual user as well, without affecting the initial VEE template.
Conventional VDI systems that follow this model (as depicted by FIG. 1), such as VMware™ Horizon View, provide several advantages compared to non-virtualized infrastructure. These advantages include: (1) centralization—installation or updates of applications as well as security updates can be performed on one server instead of each user device; (2) mobility—users can be located far from the datacenter; (3) security—if a client device crashes, the user does not lose his data and his desktop can be easily displayed on another device which has VDI client, and if the device is lost or stolen, it does not result in loss of service data, because the thief does not know a password to connect to the datacenter.
While these solutions provide for stability and reliability of the system at the level of files and hardware nodes, they do not protect against failure of a datacenter due to a blackout or other similar disasters. Therefore, conventional systems are unsuitable for customers that require a VDI implementation that ensures that a prearranged level of operational performance is met during a contractual measurement period (i.e., a “high availability” VDI). As a result, there is a need in the art for systems that provide VDI desktops and other remote assets which are compliant with high availability requirements.
Accordingly, there is a need in the art for methods and systems for reliable operation of VDI user desktops compliant with high availability requirements by employing more than one datacenter.